iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

OSI Model (Open System Interconnection Model,開放式系統互連模型,簡稱OSI 模型),是由國際化標準組織提出的一種概念模型,可用於理解和設計網路通訊的概念性框架它將網路通訊分成七個不同的階層每個階層都有其特定的功能和責任,定義於ISO/IEC 7498-1。

OSI 模型在理論上有助於理解和設計網絡協議,但實際應用中並沒有像 TCP/IP 模型一樣普及;不過OSI 模型整合了通訊必備的功能,網路工程師在討論協議相關的議題時,也會以OSI 模型的階層作為基礎來評估;對於學習電腦網路的人來說,OSI 模型可說是最基本的必學知識。


階層劃分

OSI 模型將通訊系統中的資料流劃分為七個階層,越接近軟體越高層(Layer 7),越接近硬體越低層(Layer 1),每個階層負責特定的功能,僅透過介面與相鄰的階層進行通信,不論是接收端還是傳送端,每個階層只認識對方同階層的資料。

這種分層結構有助於不同廠商的設備能夠互相配合,並簡化網絡設計和協議開發。

osi_packet.gif

(圖源鳥哥私房菜-2.1.4 電腦網路通訊協定:OSI 七層協定)

流程的部分借用鳥哥的圖進行解釋,當有份資料要從應用程式(左邊)傳送到另一個應用程式(右邊),傳送端會從第七層一路封裝**標頭(Header)**到第一層,接收端則是從第一層一路解封標頭到第七層;標頭內容包含各階層協定處理所需的資料。

比較特殊的是鏈結層(Layer 2),因為它位於代表軟體的網路層和代表硬體的實體層之間,它必須要將軟體轉換成硬體能夠處理的格式,所以這個層級又分為兩個子層在處理資料。


各層級介紹

第七層-應用層 (Application Layer)

應用層負責與應用程式進行溝通透過各種協定提供應用程式或使用者所需的服務,這一層有很多常見的協議,如HTTP/HTTPS(網頁瀏覽)、FTP(檔案傳輸)、STMP(電子郵件)、Telnet、SSH、DHCP、POP3 等,根據不同的網路服務,這些協議了定義各種功能及使用規範等細部規則。

第六層-表現層 (Presentation Layer)

表現層負責資料的格式轉換、加解密和壓縮,確保不同系統之間的資料能夠正確地解讀和交換。

格式轉換

通訊雙方所使用的編碼方式可能不同,避免格式不同造成錯誤,表現層在收到資料後會轉換其格式,如將ASCII 編碼轉成應用層可以使用的資料;或是將本地應用程式的資料格式轉換成網路的標準格式,再交由底下傳送層等的協定來進行處理。

加解密

為了避免資料在傳輸過程中被竊取,會透過加密連線進行通訊,表現層負責在傳送端加密資料,並在接收端解密資料。

壓縮

最後,為了提升資料傳輸的效率,表現層會在傳送端壓縮資料,並在接收端解壓縮。

第五層-會話層 (Session Layer)

會話層負責建立和維護通訊雙方的連線,也就是建立傳送端和接收端之間的對談,並且協議通訊雙方的通訊模式,如協議雙方使用半雙工或全雙工來傳輸資料。

在通訊開啟和關閉之間的時間稱為工作時間,會話層會確保有足夠長的工作時間進行資料的傳輸,並在傳輸工作結束時立即關閉通訊,避免資源的浪費。

會話層也會與檢查點同步資料傳輸,例如,正在傳輸100MB 的檔案,可以每5MB 設定一個檢查點,假設在42MB 時中斷連線或毀損,工作階段可以從上一個檢查點繼續進行傳輸,若沒有設定檢查點,整個傳輸就必須從頭開始。

  • 半雙工(Half-Duplex)

    在半雙工通訊中,通訊設備或協議可以進行雙向通訊,但不能同時進行,也就是通訊設備只能處於傳送或接收模式的其中一種,當一方設備處於正在傳送資料時,另一方必須等待,直到傳送完畢才能開始接收。

    例如,對講機通常是半雙工的,當一方按下對講機按鈕並講話時,另一方必須等待,無法同時講話。

  • 全雙工(Full-Duplex)

    在全雙工通訊中,通訊設備或協議可以同時進行雙向通訊,也就是可以同時傳送和接收,雙方設備之間的通訊不需要等待。

    例如,電話通話通常是全雙工的,您可以同時說話和聆聽對方的回應,而不需要交替切換模式。

半雙工和全雙工通訊模式的選擇取決於具體的應用和通信需求。半雙工通常用於一些特殊應用,或者當通訊資源有限時;而全雙工通常用於大多數常見的通訊情境,因為它提供了更高的效率和即時互動性。

第四層-傳輸層 (Transport Layer)

傳輸層定義了通訊雙方的連線技術,如TCP、UDP,負責資料的切割與重組資料封包的傳送和流量控制以及傳送過程中的偵測檢查和復原重新傳送,確保資料的可靠性、完整性和順序性。

切割與重組

在收到來自會話層的資料後,會將資料切割成**區段(Segment)**並加上編號,接收端的傳輸層再依編號進行重組,這是為了確保資料在網路上的有效傳輸,因為較小的資料區段會更容易處理和傳輸。

它會在切割後的區段加上傳輸層標頭(TH)形成區段封包傳輸層標頭包含了傳送端與接收端的端口號以及所使用的協議用於檢測和修復傳輸中的錯誤

流量控制

透過監控網路流量,調節資料的傳輸速率,讓接收端可以處理接收到的資料,防止資料過載或丟失。

錯誤處理

利用區段編號檢查資料在傳輸過程中是否有資料遺失,若有遺失通常會要求重送。

第三層-網路層 (Network Layer)

網路層負責資料封包(Packet)的路由與轉發,也就是上一篇文章提及的路由器(Router)所在的層級,使用IP 位址(IP address)來識別目的主機和網路並管理路由表,以確保資料封包按照最佳路徑傳送。

這一層最重要的協議是網際網路協議(IP),網路層會再次將傳輸層的區段封包分解成較小單位,並在分解後的資料加上網路層標頭(NH)形成資料封包(Packet),網路層標頭的內容包含傳送端與接收端的IP 位址用來識別主機和網路以及其他與路由和轉發相關的資訊

如果兩個裝置都在同一個網路上,則不需要網路層。

第二層-資料鏈結層 (Data-Link Layer)

資料鏈結層與網路層在功能上極為相似,只是資料鏈結層的用途是在同個網路上的兩個裝置之間提供網路尋址、協議識別、流量控制、錯誤偵測及改錯等功能實現可靠、高效的資料傳輸,也是上一篇文中提及的交換器(Switch)所在的層級

資料鏈結層會將來自網路層的資料封包(Packet)分解,並且加上標頭(DLH)與表尾(DLT)形成資訊框(Data Frame),標頭內容包含實體位址(MAC address)和控制訊息,如控制標誌和序號,用於流量控制和確保資料的順序性;表尾內容包含訊框校驗序列(Frame Check Sequence,FCS),FCS 包含錯誤檢測訊息,通常是CRC (Cyclic Redundancy Check) 校驗碼,這個校驗碼可用於驗證資訊框的完整性,若資訊框在傳輸過程中損壞,接收端可以透過檢查FCS 來檢測錯誤。

資料鏈結層還有個特別的地方,因為它位於定義軟體封裝的網路層和定義網路設備間傳輸訊號的實體層之間,它的工作會分成兩個子層處理;偏向軟體的部分交由邏輯鏈結控制層處理,偏向硬體的部分則交由媒介訪問控制層處理,兩者共同協作,確保資料在相鄰的節點之間正確地傳輸,同時實現媒介訪問控制和錯誤處理。

邏輯鏈結控制 (Logical Link Control,LLC)

邏輯鏈結控制(LLC 子層)是資料鏈結層中的上層,於IEEE 802.2 中定義其內容,它會識別和區分不同的協議,如IPv4、IPv6 等,確保資料被正確地路由到相應的網路層協議。

媒介訪問控制 (Media Access Control,MAC)

媒介訪問控制(MAC 子層)是資料鏈結層中的下層,負責處理實體定址及媒介訪問控制協議,資料鏈結層主要的功能也是在這一層實現,如資訊框的封裝與解析、流量控制及錯誤檢測。

  • 實體定址

    在標頭(DLH)的資訊中,包含了傳送端與接收端的實體位址(MAC 位址),MAC 位址是唯一的,在資料傳輸的過程中,會透過MAC 位址來辨別網路中的每個設備。

    MAC 子層就負責解析傳送端與接收端的MAC 位址,確保資料會被正確地傳送到目的地。

  • 媒介訪問控制協議

    MAC 子層實現了媒介訪問控制協議,用於協調多個設備在共享媒介上的資料傳輸,以避免/減少資料碰撞,常見的媒介訪問控制協議有CSMA/CD(用於乙太網)和CSMA/CA(用於Wi-Fi 等無線網路)。

    這些協議的目的都是確保資料傳輸是有秩序的,減少碰撞和競爭,從而實現流量控制。

第一層-實體層 (Physical Layer)

實體層負責處理物理媒介的傳輸主要功能是將資料轉換為數位訊號,通常是0和1的電子訊號(位元流),使其能夠在不同的物理媒介上傳輸,如電纜、光纖、無線訊號等,它所規範的內容還包含了纜線的規格、傳輸速度以及資料傳輸的電壓值,並不關心資料的含意或其他階層的協議。


小結

OSI 模型是幫助了解網路架構和協議的參考模型,並沒有應用在實際生活中,可能是因為這樣,查詢資料的時候每個階層的功能和用途大致相同,有使用粗體字特別標示出來,但在細節部分資訊就比較少,盡量整理了大部分的內容,如果有錯的話還請糾正,而在實務上還是比較需要了解TCP/IP 模型。


參考資料

鳥哥私房菜 - 第二章、基礎網路概念

OSI 模型是什麼 | 關於 OSI 七層 | Cloudflare

OSI模型(Open System Interconnection Model) - HackMD

什麼是OSI的7層架構?和常聽到的Layer 7有關?

OSI模型 - 維基百科,自由的百科全書

圖解TCP/IP網路通訊協定(涵蓋IPv6)2021修訂版


上一篇
Day 2 - Internet Overview
下一篇
Day 4 - TCP/IP Model
系列文
後端工程師學習地圖導覽11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言